一种数据处理装置,包括至少两个处理单元,每一处理单元(CR1、CR2)交替地处于第一工作模式和第二工作模式中,每一处理单元在过渡阶段(PHT1、PHT2)结束时切换到其第二工作模式,过渡阶段包括至少一次地启动这两个处理单元共用的资源;所述两个单元中的至少一个单元配置成利用时间弹性而至少一次切换到其第二工作模式,具有所述弹性的一个或多个所述处理单元切换到其第二工作模式的时刻以一方式被调整,使得如果此时间调整符合所述时间弹性,则在所述的两个各自的过渡阶段期间已启动所述公共资源一次(26)之后,所述两个单元处于它们的第二工作模式中。
1.一种用于管理数据处理装置的操作的方法,所述数据处理装置包括至少两个处理单元,每一处理单元(CR1、CR2)交替地处于第一工作模式和第二工作模式中,每一处理单元在过渡阶段(PHT1、PHT2)结束时切换到其第二工作模式,所述过渡阶段包括至少一次启动这两个处理单元共用的资源,在所述方法中,所述两个单元中的至少一个单元配置成利用时间弹性而至少一次切换到其第二工作模式,具有所述弹性的所述处理单元切换到其第二工作模式的时刻以如下方式被调整:使得如果此时间调整符合所述时间弹性,则在两个相应的过渡阶段期间已启动所述公共资源一次(26)之后,所述两个单元处于它们的第二工作模式中。
2.如权利要求1所述的方法,其中每一处理单元在切换到其第一工作模式之前提供与其下一次切换到其第二工作模式有关的时间约束提示(ICT1、ICT2),这些时间约束提示中的至少一个时间约束提示包括用于所述时间约束的弹性指示,并且这两个处理单元中的至少一个处理单元切换到其第二工作模式的时刻被以如下方式调整:使得如果此时间调整符合所述两个处理单元考虑所述弹性指示而传送的所述时间约束提示,则在两个相应的过渡阶段期间已启动所述公共资源一次之后,所述两个单元处于它们的第二工作模式中。
3.如权利要求1或2所述的方法,其中在所述两个处理单元都处于它们的第二工作模式中并且每一处理单元与当所述单元返回到它们的第一工作模式时用来根据关闭程序而处于停止的共享资源(PRH)合作的情况下,当所述两个单元都不与这些共享资源合作时,针对所述两个单元仅启动此关闭程序一次(34)。
4.一种系统,所述系统包括:具有至少两个处理单元的数据处理装置,每一处理单元(CR1、CR2)被配置成交替地处于第一工作模式和第二工作模式中,所述两个单元中的至少一个单元还被配置成利用时间弹性而至少一次切换到其第二工作模式;这两个处理单元共用的资源(ALMP、MCLK),所述资源配置成在每一处理单元切换到其第二工作模式之前的过渡阶段中被启动;以及管理部件(MGS),所述管理部件(MGS)配置成以如下式调整具有所述弹性的所述处理单元切换到其第二工作模式的时刻,使得如果此时间调整符合所述时间弹性,则在两个相应的过渡阶段期间启动所述公共资源一次时,所述两个单元处于它们的第二工作模式中。
5.如权利要求4所述的系统,其中每一处理单元被配置成在切换到其第一工作模式之前提供与其下一次切换到其第二工作模式有关的时间约束提示(ICT1、ICT2),这些时间提示中的至少一个时间提示包括用于所述时间约束的弹性指示,以及所述管理部件(MGS)被配置成接收所述时间约束提示并以如下方式调整这两个处理单元中的至少一个处理单元切换到其第二工作模式的时刻:使得如果此时间调整符合考虑所述弹性指示的所述时间约束提示,则在两个相应的过渡阶段期间已启动所述公共资源一次时,所述两个单元处于它们的第二工作模式中。
6.如权利要求4或5所述的系统,所述系统还包括共享资源(PRH),所述共享资源(PRH)被配置成与所述两个处理单元合作以及当所述单元返回到它们的第一工作模式时根据关闭程序而停止,且其中所述管理部件还配置成在所述两个处理单元处于它们的第二工作模式以及每一单元与所述共享资源合作的情况下,当所述两个单元都不再与这些共享资源合作时,针对所述两个单元仅启动所述关闭程序一次。
7.一种能够利用自主电源操作的装置,所述装置包括根据权利要求4到6中的任一项所述的系统。
8.如权利要求7所述的装置,所述装置形成无线通信装置。
技术领域本发明涉及多核或多处理单元数据处理装置,更具体地涉及为降低它们的电力消耗而对其操作进行管理。本发明有利地但非限制性地适用于利用自主电源(举例而言,比如可充电电池)运行且包括上述装置的设备。可以以指示方式列举无线通信装置,举例而言,比如蜂窝式移动电话或个人导航设备。
背景技术便携式设备正在提供越来越多的服务。蜂窝式移动电话尤其如此,蜂窝式移动电话包括大量新的多媒体应用,比如Java应用、产生和弦声音、视频功能、数码摄像、合并的电视功能等。新应用的逐步升级需要更大的处理能力,具体而言,这可以通过包括若干个处理单元(比如处理器核)的数据处理装置获得的。但是,处理能力的提高通常伴随着能量消耗的增大。当然,这对电池的自主权有直接影响。传统的能量降低机制在于,当处理单元不再需要执行任何处理时,使此处理单元处于低功耗模式。且每当需要处理时,处理单元退出其低功耗模式,执行处理,接着再次进入低功耗模式直到需要下次处理为止。但是,进入和退出低功耗模式消耗能量。且在其每一核独立地进入和退出其低功耗模式的多核装置中,消耗的能量更多。
发明内容根据一种实现方式和实施方式,提出了可以降低多核处理装置中的能量消耗并且可以例如提高蜂窝式移动电话的自主性同时仅对产品成本造成相当小的影响的方法和系统。根据一个方面,提供了一种用于管理包括至少两个处理单元的数据处理装置的操作的方法。每一处理单元交替地处于第一工作模式(例如功耗很低的睡眠模式)和第二工作模式(例如活动模式)中;每一处理单元在过渡阶段结束时切换到其第二工作模式,该过渡阶段包括至少一次启动这两个处理单元共用的资源,例如启动主电源和主时钟;在此方法中,所述两个单元中的至少一个单元配置成利用时间弹性而至少一次、优选地多次或者实际上每次切换到其第二工作模式,具有所述弹性的一个或多个所述处理单元切换到其第二工作模式的时刻以一方式被调整,使得如果此时间调整符合所述时间弹性,则在所述的两个各自的过渡阶段期间已启动所述公共资源一次之后,所述两个单元处于它们的第二工作模式中。因此,例如,当所述核中的一个核已处于其第二工作模式中时,公共资源已经被启动。而且,当另一核需要唤醒时以及当有可能根据此核的弹性将此唤醒例如提前或延迟到第一核仍处于活动中的时刻时,则不再需要针对第二核启动所述公共资源,因为所述公共资源已被启动。可能仅需要启动此第二核专用的资源。因此,当第一核睡眠时,如果第二核已唤醒所要消耗的能量(比如最初设想的)将要节省。当然,如果不可能以使得两个核的动作之间多少有些重叠的方式执行此时间调整(由此使得可能仅驱动公共资源一次),则不节省能量。就是说,至少一个核的时间弹性使得至少在某些情况下有可能确保此能量节省。当两个核提供时间弹性时,这将会更容易。此时间弹性可以以由所关注的核发送的时间约束提示中包括的弹性指示的方式提供。因此,根据一种实现模式,每一处理单元在切换到其第一工作模式之前提供与其下一次切换到其第二工作模式有关的时间约束提示,这些时间约束提示中的至少一个时间约束提示包括用于所述时间约束的弹性指示;接着,这两个处理单元中的至少一个处理单元切换到其第二工作模式的时刻被以一方式调整,使得如果此时间调整符合所述两个处理单元根据所述弹性指示传送的所述时间约束提示,则在所述两个各自的过渡阶段期间启动所述公共资源一次之后,所述两个单元处于它们的第二工作模式中。还可发生两个处理单元与共享资源合作,例如与包括配置寄存器和执行直接内存存取(“DMA”,本领域的专业技术人员熟知的首字母缩略词)的外设合作。证实有利的是对此外设的控制最优化以便在所述核切换到它们的睡眠模式时节省能量。实际上,就外设而言,比如上文示出的外设,可能需要在停止此外设之前执行用于保存所述配置寄存器的程序。但是,如果所述核中的一个核已结束其处理并决定再次进入其睡眠模式,只要另一核仍然在使用这些寄存器以可能将其他数据保存在其中,则执行备份这些寄存器对所述核中的一个核而言是徒劳的。因此,当所述第二核已结束其处理且要再次进入其睡眠模式时,所述备份程序将被执行一次。一般来讲,根据一种执行模式,在所述两个处理单元都处于它们的第二工作模式中并且每一处理单元与当所述单元返回到它们的第一工作模式时用来根据关闭程序而处于停止的共享资源合作的情况下,当所述两个单元都不与这些共享资源合作时,针对所述两个单元仅启动此关闭程序一次。根据另一方面,提供了一种系统,所述系统包括:具有至少两个处理单元的数据处理装置,每一处理单元被配置成交替地处于第一工作模式和第二工作模式中,所述两个单元的至少一个单元还被配置成利用时间弹性而至少一次切换到其第二工作模式;还提供了这两个处理单元共用的资源,所述资源配置成在每一处理单元切换到其第二工作模式之前的过渡阶段中被启动;以及管理部件,所述管理部件配置成以一方式调整具有所述弹性的一个或多个所述处理单元切换到其第二工作模式的时刻,使得如果此时间调整符合所述时间弹性,则在所述两个各自的过渡阶段期间启动所述公共资源一次时,所述两个单元处于它们的第二工作模式中。根据一个实施方式,每一处理单元被配置成在切换到其第一工作模式之前提供与其下一次切换到其第二工作模式有关的时间约束提示,这些时间提示中的至少一个时间提示包括用于所述时间约束的弹性指示,以及管理部件被配置成接收所述时间约束提示并以一方式调整这两个处理单元中的至少一个处理单元切换到其第二工作模式的时刻,使得如果此时间调整符合根据所述弹性指示的所述时间约束提示,则在所述两个各自的过渡阶段期间启动所述公共资源一次时,所述两个单元处于它们的第二工作模式中。根据一个实施方式,所述系统包括共享资源,所述共享资源被配置成与所述两个处理单元合作以及当所述单元返回到它们的第一工作模式时根据关闭程序处于停止,且所述管理部件还配置成在所述两个处理单元处于它们的第二工作模式以及每一单元与所述共享资源合作的情况下,当所述两个单元都不再与这些共享资源合作时,针对所述两个单元仅启动所述关闭程序一次。根据另一方面,还提供了一种能够利用自主电源(例如电池)操作并包括比如上文所定义的系统的装置(例如无线通信装置)。
附图说明阅读对执行方式和实施方式的完全非限制性模式的详细描述以及附图后,本发明的其他优势和其他特性会更明显,其中:图1完全以图解方式示出了根据本发明的系统的实施方式,以及图2到图4示意性地示出了根据本发明的方法的执行方式的各种模式。
具体实施方式图1中,附图标记SYS表示包括多核或多处理器数据处理装置DIS以及部件MGS的系统,所述部件MGS被配置成管理所述装置的操作,具体而言,被配置成降低各个核从睡眠模式切换到活动模式期间的能量消耗。在图1中,为了简化,仅示出了具有核CR1、CR2的两个处理单元,但本发明还适用于具有更多处理核的多核装置。例如,系统SYS可以包括在通过WAP无线通信装置(比如蜂窝式移动电话)的模拟级(为了简化,此处未示出)连接到天线ANT的数字级ETN的内部。在图1中,两个核CR1和CR2使用公共资源,举例而言,比如主电源ALMP和能够产生主时钟信号的块MCLK,此块MCLK用来由块ALMP供电。除了这些公共资源外,每一核CR1、CR2具有在此处由块CGU1和CGU2表示的内在资源。这些块也是时钟产生块并且可以包括锁相环。在此处描述的示例中,每一核CR1、CR2还控制由内在电源ALM1、ALM2供电的子系统SBS1、SBS2。而且,在此示例中,两个核CR1、CR2与共享资源PRH合作,举例而言,该共享资源PRH比如为包括配置寄存器并且能够执行直接内存存取(DMA)的外围设备。管理部件MGS在此表示为在核CR1、CR2外部的部件,将在下文更详细地描述其功能。这些部件可以以微控制器内的软件形式实现或者以逻辑电路的形式实现。就是说,完全可以想到,这些部件MGS例如以软件形式被包括在一个核中。每一核具有第一工作模式,例如睡眠模式,在该睡眠模式中,所有时钟产生块以及所有电源将停止工作。此外,每一核具有第二工作模式,例如活动模式,在该活动模式中,每一核通过利用例如相关子系统和共享资源PRH中包括的部件执行分配给该核的各种处理。对于每一核而言,从第一模式到第二模式的切换包括过渡阶段,在该过渡阶段期间,管理部件MGS将启动公共资源ALMP和MCLK,接着启动所关注的核专用的资源,例如用于核CR1的资源CGU1。因此,更确切地说,在此过渡阶段期间,主电源ALMP被启动且等待到此电源稳定为止。接着,等待到块MCLK产生的时钟信号稳定为止。此时,可以启动每一块CGU1的锁相环并且等待到此锁相环被锁定为止。此时,核CR1切换到其活动模式(第二工作模式)以开始执行所面对的指令。也启动单独的电源ALM1和ALM2,当这些单独的电源已稳定时,子系统SBS1、SBS2可以开始运行。每一核将交替地处在其睡眠模式中或其活动模式中。在核退出活动模式以再次进入睡眠模式之前,该核将为管理部件MGS提供与下一次转变到其第二工作模式(活动模式)有关的时间约束提示。例如,此时间约束提示限定该核必须保持在其睡眠模式中的时间段以及下一活动模式的时间段。这样的时间约束提示还可包括弹性指示。例如当该核执行的某些处理不是实时处理时,情况就是这样。该弹性指示可以采取各种形式。例如,该核将能够指示其可保持在睡眠模式中所允许的最大时间段以及该核所能接受的用以在活动模式中执行其动作的时间段的变化。根据这些时间约束提示,至少一个时间约束提示与弹性指示结合,如果可能的话,管理部件MGS将调整这两个核中的至少一个核切换到其第二工作模式的时刻(因此调整在第一模式和第二模式之间的过渡阶段中实施的部件的启动时刻),以便获得这两个核的动作的一定重叠,由此使得可能仅启动公共资源一次,在此实例中为块ALMP和MCLK。这在图2中更详细地予以示出。在此图中,在步骤20和步骤23中,核CR1和核CR2都处于它们的活动模式中。在核切换到其睡眠模式(步骤22和步骤25)之前,核提供时间约束提示ICT1、ICT2(步骤21和步骤24)。接着,管理部件MGS将执行对这些提示ICT1、ICT2的分析,以便(如果可能的话)以一方式调整至少一个核切换到其活动模式的时刻,使得两个核CR1、CR2在它们相应的过渡阶段PHT1和PHT2结束时处于它们的活动模式中,同时在两个过渡阶段期间仅驱动公共资源ALMP和MCLK一次(步骤26)。当已启动这些公共资源时,执行每一核的内在资源CGU1、CGU2的驱动,因此使这两个核进入它们的活动模式(步骤29、30)。刚刚就图2描述的内容适用于以下情况:当两个核均处于睡眠时,想要将这两个核切换到它们的活动模式,或者当一个核已处于其活动模式时,想要将另一核从其睡眠模式切换到其活动模式。图4示出了这样的方法的示例性执行方式。在此图中,假定核CR1具有固定的时间约束,也就是说非弹性约束,而假定核CR2的时间约束是灵活的。而且,为了简化,将假定块CGU1和CGU2的启动时间段(步骤27和步骤28)相同,当然它们可以不同。在此示例中,在切换到其第一工作模式之前(睡眠模式),核CR1指示,其在时刻t2和时刻t5之间应当处于其下一活动模式(步骤29)中。因此,管理部件MGS在时刻t0已启动公共资源ALMP和MCLK(步骤26),在时刻t1发生块CGU1的启动(步骤27),使得核能够在时刻t2进入其活动模式。而且,核CR2在切换到其睡眠模式之前已指示管理部件MGS,其应当在时刻t8和t9之间处于其下一活动模式中,但这些时间约束提示被补充一弹性指示,使得可能短暂左移(箭头F1),例如偏移到t2,t2是核CR2切换到活动模式的时刻。根据到这些指示,管理部件MGS将核CR2切换到活动模式的时刻调整到时刻t2。而为了使核CR2切换到其活动模式,需要启动公共资源(步骤26)以及块CGU2。但是由于核CR1在时刻t2也处于其活动模式中,则在时刻t0和时刻t1之间仅启动两个核的公共资源一次(步骤26)就足够。在此启动(步骤26)之后,进行启动与核CR2有关的块CGU2(步骤28),以便将核CR2切换到其活动模式(步骤30)。在图4中可以直接看到,如果核CR2切换到其活动模式的时刻未向左移,且其停留在时刻t8,为了将此核CR2切换到活动模式,需要从时刻t7启动公共资源。因此,将会在时刻t0为核CR1第一次启动公共资源以及在时刻t7为核CR2第二次启动公共资源。将核CR2切换到活动模式的时刻向左移至时刻t2的事实使得避免公共资源的启动。在切换回其睡眠模式之前,核CR1指示管理部件,应当在时刻t12执行向其活动模式的下一次切换(步骤29)。因此,管理部件在时刻t11引发过渡阶段PHT1。核CR2指示管理部件,应当在时刻t16执行向其活动模式的下一次切换,但此时间约束提示被补充一弹性指示,使得切换到活动模式(步骤30)的时刻向右移(箭头F2)。此外,而核CR1在切换回其睡眠模式之前指示管理部件,应当在时刻t21切换回其活动模式。而且,此时刻t21处于核CR2切换到其活动模式的弹性时间阶段中。因此,管理部件决定要将核CR2切换到其活动模式的时刻从时刻t16偏移到时刻t21。因此,以与上述方式类似的方式,在分别与两个核切换到它们的第二工作模式(活动模式)有关的两个过渡阶段期间,仅需启动公共资源一次(步骤26)。同样,与允许核CR2在时刻t16切换到其活动模式的情况(引起在时刻t15处为此核CR2启动公共资源)相比,节省了启动公共资源阶段消耗的能量。尽管该图已示出了针对所述两个核一致的、切换到活动模式的时刻,但这并不是必须的。实际上,即使管理部件已将核CR2切换到其活动模式的时刻向左移,例如从时刻t8偏移到时刻t3,因为在此时刻核CR1仍处于其活动模式中且因此已启动的公共资源仍在运行,则仍可以避免为核CR2启动公共资源。当然,核每次切换到其活动模式时,管理部件通知此核其处于睡眠模式中的时间段,使得该核的计数器能够根据核的睡眠的有效时间段来更新。尽管刚发现在进入活动模式时可以节省能量,但如图3所示,还可能在核退出其活动模式时节省能量,尤其是当两个核与共享资源合作时,其在具体的关闭程序结束时停止工作,所述具体的关闭程序例如为需要备份外围设备的配置寄存器的程序。当一核想要进入睡眠模式时,如上所述,其提供时间约束提示(步骤20、21、23和24),在此处描述的示例中,其接着将预先进入“休息”模式(步骤31、32)。在此模式中,仅由正在讨论的核使用的资源(例如包含在子系统SBS1(SBS2)中的资源)将被停用,这可能是通过应用关闭程序(举例而言,比如为寄存器备份程序)实现的。另一方面,在此休息模式中,不停用两个核共享的资源PRH。就这一点而言,在执行用于关闭共享资源(例如,包括寄存器备份程序)的程序之前,要确定这些共享资源是否仍然正在由两个核中的一个核使用。如果情况是这样,则已不使用这些共享资源的核将不执行此关闭程序,例如用于备份配置寄存器的程序,因为只要另一核尚未停止使用此外设,这些配置寄存器中的数据仍将能够改变。而只有当两个核都不再使用共享外设时,将仅执行关闭共享资源的程序一次(步骤34),因此使核进入它们的睡眠模式(步骤35)。这样的关闭程序,例如寄存器备份程序,消耗能量。因此,为两个核仅执行关闭程序一次将节省再次进入睡眠模式的能量。这也在图4中示出。例如,可以看出,核CR2在时刻t3与t4之间停用它自己控制的资源,这当然消耗能量。另一方面,由于核CR1仍处于活动模式中并且正在利用公共资源PRH,则在时刻t5和时刻t6之间执行停用仅由核CR1控制的资源以及停用共享资源。因此,用于外设PRH的关闭程序(寄存器备份)仅被执行一次,而不是如果核CR2切换到其活动模式的时刻没有向左移时的两次(在时刻t5和t6之间以及在时刻t9和t10之间)。由于核CR1在时刻t24和时刻t25之间的时间间隔中同样仅执行备份程序一次,则也可在时刻t22和t25之间发现这样的能量节省。因此,可以在没有根据箭头F1和F2(能量消耗曲线CVA)偏移的配置与具有根据箭头F1和F2(能量消耗曲线CVB)偏移的配置之间实现总能量节省ΔE,如图4所示。本发明不局限于刚刚描述的实施方式和执行方式的模式,而包括其所有的变型。因此,为每一核提供时间约束提示并不是必须的,因为所述时间约束提示中的至少一个时间约束提示针对其切换到第二模式(活动模式)中的至少一次切换表现出时间弹性。实际上,如果一核仅执行这样的动作:不支持它们的操作产生任何时间偏移,则此核将在其唤醒的时刻发送指示此唤醒的信号,而不是在进入睡眠之前传送时间约束提示,即使是固定的时间约束提示,即不灵活的时间约束提示。在此情况下,管理部件可以尝试着考虑另一核的弹性来调整该另一核的唤醒。除非另有说明,根据此简化形式,这些核中的一个核提供时间约束提示,而另一核仅指示其是否处于活动中。而且,刚刚就两个处理单元描述的内容可以推广到共同与公共资源和/或共享资源合作的多于两个的处理单元或者与公共和/或共享资源合作的至少两个单元的组。